"""
    Module that provides a game logic for game Balda
"""

from gameserver.game import interface
from gameserver.service.exceptions.ttypes import *

class Game(interface.AbstractGame):
    """
        Balda game object
    """

    def __init__(self, playersNnumber = 2, admin = None, **gameMode):
        super(Game, self).__init__(playersNnumber, admin, **gameMode)

    def set_mode(self, gameMode):
        """ Sets the mode of the game """
        pass

    def check_move(self, player, **move_args):
        """ Checks if move is right """
        pass

    def make_move(self, player, **move_args):
        """ Makes a move """
        pass

    def save_history(self):
        pass

    def start(self, id):
        if interface.AbstractGame.start(self, id):
            self.generate_first_word()

    def generate_first_word(self):
        """Generates first word"""
        self.__firstWord = 'First word'

    @property
    def firstWord(self):
        return self.__firstWord
